package com.dto;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonIgnoreProperties(ignoreUnknown = true)
public class FieldsDTO {

	@JsonProperty
	private String summary;

	@JsonProperty
	private TimetrackingDTO timetracking;

	@JsonProperty
	private IssueTypeDTO issuetype;

	@JsonProperty
	private UserDTO reporter;

	@JsonProperty
	private Date updated;

	@JsonProperty
	private Date created;

	@JsonProperty
	private String description;

	@JsonProperty
	private PriorityDTO priority;

	// TODO: SubtasksDTO (empty)

	@JsonProperty
	private IssueDTO[] subtasks;

	@JsonProperty
	private StatusDTO status;

	// TODO: LabelsDTO[] (empty)

	@JsonProperty
	private String[] labels;

	@JsonProperty
	private IssueDTO parent;

	@JsonProperty
	private ProjectDTO project;

	@JsonProperty
	private CommentDTO comment;

	@JsonProperty
	private ResolutionDTO resolution;

	@JsonProperty
	private FixVersionsDTO[] fixVersions;

	@JsonProperty(value = "resolutiondate")
	private Date resolutionDate;

	@JsonProperty(value = "dueDate")
	private Date duedate;

	@JsonProperty
	private WorklogDTO worklog;

	@JsonProperty
	private UserDTO assignee;

	@JsonProperty
	private AttachmentDTO[] attachment;

	@JsonProperty
	private Long timespent;

	public String getSummary() {
		return summary;
	}

	public void setSummary(String summary) {
		this.summary = summary;
	}

	public TimetrackingDTO getTimetracking() {
		return timetracking;
	}

	public void setTimetracking(TimetrackingDTO timetracking) {
		this.timetracking = timetracking;
	}

	public IssueTypeDTO getIssuetype() {
		return issuetype;
	}

	public void setIssuetype(IssueTypeDTO issuetype) {
		this.issuetype = issuetype;
	}

	public UserDTO getReporter() {
		return reporter;
	}

	public void setReporter(UserDTO reporter) {
		this.reporter = reporter;
	}

	public Date getUpdated() {
		return updated;
	}

	public void setUpdated(Date updated) {
		this.updated = updated;
	}

	public Date getCreated() {
		return created;
	}

	public void setCreated(Date created) {
		this.created = created;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public PriorityDTO getPriority() {
		return priority;
	}

	public void setPriority(PriorityDTO priority) {
		this.priority = priority;
	}

	public IssueDTO[] getSubtasks() {
		return subtasks;
	}

	public void setSubtasks(IssueDTO[] subtasks) {
		this.subtasks = subtasks;
	}

	public StatusDTO getStatus() {
		return status;
	}

	public void setStatus(StatusDTO status) {
		this.status = status;
	}

	public String[] getLabels() {
		return labels;
	}

	public void setLabels(String[] labels) {
		this.labels = labels;
	}

	public IssueDTO getParent() {
		return parent;
	}

	public void setParent(IssueDTO parent) {
		this.parent = parent;
	}

	public ProjectDTO getProject() {
		return project;
	}

	public void setProject(ProjectDTO project) {
		this.project = project;
	}

	public CommentDTO getComment() {
		return comment;
	}

	public void setComment(CommentDTO comment) {
		this.comment = comment;
	}

	public ResolutionDTO getResolution() {
		return resolution;
	}

	public void setResolution(ResolutionDTO resolution) {
		this.resolution = resolution;
	}

	public FixVersionsDTO[] getFixVersions() {
		return fixVersions;
	}

	public void setFixVersions(FixVersionsDTO[] fixVersions) {
		this.fixVersions = fixVersions;
	}

	public Date getResolutionDate() {
		return resolutionDate;
	}

	public void setResolutionDate(Date resolutionDate) {
		this.resolutionDate = resolutionDate;
	}

	public Date getDuedate() {
		return duedate;
	}

	public void setDuedate(Date duedate) {
		this.duedate = duedate;
	}

	public WorklogDTO getWorklog() {
		return worklog;
	}

	public void setWorklog(WorklogDTO worklog) {
		this.worklog = worklog;
	}

	public UserDTO getAssignee() {
		return assignee;
	}

	public void setAssignee(UserDTO assignee) {
		this.assignee = assignee;
	}

	public AttachmentDTO[] getAttachment() {
		return attachment;
	}

	public void setAttachment(AttachmentDTO[] attachment) {
		this.attachment = attachment;
	}

	public Long getTimespent() {
		return timespent;
	}

	public void setTimespent(Long timespent) {
		this.timespent = timespent;
	}

}
